Skip to content

refactor(orchestration): consolidate steering and retire task tools - #499

Merged
senamakel merged 32 commits into
tinyhumansai:mainfrom
senamakel:epic-8088-59-steering
Oct 21, 2026
Merged

senamakel merged 32 commits into
tinyhumansai:mainfrom
senamakel:epic-8088-59-steering

Conversation

@senamakel

Copy link
Copy Markdown
Member

Consolidate detached child steering under tinyagents_orchestration::steering and expose SteerFallback for host queues. A retained finished child now uses that fallback instead of returning AlreadyDone; live children still receive steering through their registered handle. Ownership, supported lanes, request-ID limits and deduplication continue to apply.

Remove the retired task-tool and restart-recovery APIs and their graph exports. Keep SteeringRegistry in tinyagents-tasks, where DetachedTaskRegistry depends on it. Preserve independent middleware, task-store and completion-router tests.

Refs senamakel#59. Part of tinyhumansai/openhuman#8088.

Draft dependency: canonical PRs #496 and #497 must land first. After they merge, merge canonical main into this branch, verify the resulting diff and gates, and mark this PR ready.

Validation:

  • At the final head 4acd1a578ede5bfde0e22b7866a3f96d4e4b8773, the full workspace all-target check, task-crate all-target Clippy, 115 task tests, and cargo machete crates pass.
  • Before the manifest-only cleanup, full workspace Clippy and tests passed: 5,607 passed, zero failed, 35 ignored, including doctests. Formatting and all-feature rustdoc broken-link checks passed too. The cleanup removes exactly three unused dependency edges and their lockfile entries; source and tests are unchanged.
  • The offline composed test calls public steering and verifies the instruction reaches the child harness model request. All five steering end-to-end tests pass.
  • The terminal-fallback regression failed against the original implementation (AlreadyDone instead of fallback).
  • Current-head CI reruns the full workspace and feature matrix before fork integration.

The wiki is a separate repository. Its reviewed patch is included below for publication after the source change lands; this PR leaves the existing wiki gitlink unchanged.

Wiki follow-up patch
diff --git a/Examples.md b/Examples.md
index 48b9a80..952971c 100644
--- a/Examples.md
+++ b/Examples.md
@@ -377,25 +377,6 @@ let values: Vec<u64> = out.into_successes();
 A total timeout yields `TinyAgentsError::Timeout`; a cancelled token yields
 `TinyAgentsError::Cancelled`.
 
-### List orchestration tasks by kind and creation window
-
-The `orchestrate_list` tool filters spawned tasks by `kind` and a
-creation-time window. *(See `crates/tinyagents-graph/src/orchestration/test.rs`.)*
-
-```rust
-use serde_json::json;
-use tinyagents_graph::{OrchestrationTool, OrchestrationToolKind};
-use tinyagents_harness::tool::Tool;
-use tinyinference::tool::ToolCall;
-
-let list = OrchestrationTool::new(OrchestrationToolKind::List, store);
-let result = list
-    .call(&(), ToolCall::new("l1", "orchestrate_list",
-        json!({ "kind": "sub_agent", "created_after_ms": 0 })))
-    .await?;
-// result.raw is a JSON array of matching task snapshots.
-```
-
 ### Registry introspection
 
 Snapshot the registry (components plus aliases) for audit or UI display, and
diff --git a/Graph-Runtime.md b/Graph-Runtime.md
index d9dd3f5..1d22ae4 100644
--- a/Graph-Runtime.md
+++ b/Graph-Runtime.md
@@ -374,29 +374,21 @@ checkpoint metadata so a UI can render nested runs. The run-id counterpart read
 `ChildRun`s are reported through a `ChildRunSink` and accumulated onto the
 execution.
 
-## Orchestration tools (`tinyagents_graph::orchestration`)
-
-The orchestration module exposes child-work supervision as ordinary harness
-`Tool` implementations a model can call. An `OrchestrationTool` over a `TaskStore`
-(the `InMemoryTaskStore` ships by default) records and controls managed tasks.
-Each task is an `OrchestrationTaskKind` — `Graph`, `SubAgent`, `Tool`, or a
-policy-gated `ExternalProcess` placeholder — moving through an
-`OrchestrationTaskStatus` lifecycle (`Pending`, `Running`, `Awaiting`,
-`Completed`, `Failed`, `CancelRequested`, `Cancelled`, `TimedOut`, `Abandoned`).
-
-`OrchestrationToolKind` enumerates the ten built-in tools, each with a stable
-model-visible name: `orchestrate_spawn`, `orchestrate_await`,
-`orchestrate_cancel`, `orchestrate_kill`, `orchestrate_status`,
-`orchestrate_list`, `orchestrate_timeout`, `orchestrate_race`,
-`orchestrate_yield` (a durable interrupt), and `orchestrate_steer`. Build a
-`OrchestrationTaskSpec`/`OrchestrationTaskRecord` model and register the whole
-set onto a registry with `register_orchestration_tools` (or build them with
-`orchestration_tools` / inspect schemas via `orchestration_tool_schema(s)`).
-`orchestrate_list` filters through `OrchestrationTaskFilter`: the run-tree
-fields (`parent_run_id`, `root_run_id`, `thread_id`, `node_id`, `status`), a
-`kind` label (`"graph"`, `"sub_agent"`, `"tool"`, `"external_process"`), and an
-inclusive `created_after_ms` / `created_before_ms` window in Unix-epoch
-milliseconds (builders: `with_kind`, `created_between`).
+## Detached subagent steering (`tinyagents_orchestration::steering`)
+
+Host code steers a detached child through `steer_detached` or its
+request-id-idempotent variant, `steer_detached_with_request_id`. These
+functions validate the task owner and lane, then deliver through the child's
+live `SteeringHandle` when available. A retained terminal task or a live task
+without a handle is sent through the host-provided `SteerFallback` seam, which
+lets the host enqueue its own metadata, lane, and message. Unknown or pruned
+tasks remain errors. `cancel_for_thread` cancels registered children owned by a
+parent thread.
+
+`SteeringRegistry` remains in `tinyagents_tasks`; `DetachedTaskRegistry` shares
+it with the executor and removes the live handle when a detached task is
+released. The orchestration steering functions depend on that task contract
+without introducing a tasks-to-orchestration dependency.
 
 ## Per-thread goals and todos (`tinyagents_graph::goals`, `tinyagents_graph::todos`)
 

Update the detached subagent steering tests to expect the fallback route
and a single fallback call when the task has already failed, and assert
that steering through the live handle injects the user's additional
context into the subagent.

Auto-committed-on: dragonfly
Adds an assertion that the counting callback is never invoked when steering a
detached subagent on an unsupported lane. This guards against the rejection
path silently dispatching work before returning the error.

Auto-committed-on: dragonfly
… module

The steering logic for detached subagents now lives in a dedicated
steering module rather than under the detached subagent tree. The
behaviour is unchanged; the move gives the lane rules and idempotency
handling a clearer home as more control surfaces adopt them.

Auto-committed-on: dragonfly
Moves the detached subagent steering API out of the subagent module and into its own top-level steering module so it can be reused independently. Introduces a SteerFallback trait to describe the host-provided delivery path, and steering now falls back to the host when the child is finished or has no live handle instead of rejecting the steer outright.

Auto-committed-on: dragonfly
SteeringRegistry now lives in a dedicated steering_registry module and is
re-exported from the crate root. The graph crate's re-exports were trimmed to
match, dropping the orchestration tool helpers it no longer needs to surface.

Auto-committed-on: dragonfly
The crate no longer exposes the orchestration control tools or the
restart-recovery helpers, leaving it as the graph-independent task model,
store implementations and detached task registry. The documentation was
trimmed to match the reduced surface.

Auto-committed-on: dragonfly
…ntrol_and_steer.rs,crates/tinya

Auto-committed-on: dragonfly
The router no longer builds restart recovery notes, dropping the
restart_recovery_note method and its supporting tests. The recovery note
logic now lives elsewhere, so the router keeps only its completion
bookkeeping responsibilities.

Auto-committed-on: dragonfly
Introduces a small helper that builds a graph-kind OrchestrationTaskSpec so tests can construct graph tasks without repeating the boilerplate. Also trims the module doc comment to match the tests it actually describes.

Auto-committed-on: dragonfly
This change refactors the public API exports in `subagent` and `tinyagents-tasks` to better reflect the current structure and responsibilities of the modules. It also updates documentation across several crates to clarify the role of the task store and steering mechanisms.

Auto-committed-on: dragonfly
…back

Documentation now states that lane and ownership validation runs before the request id is consumed, and that a terminal task with retained metadata is delivered through the host fallback. The test name and store doc comments were updated to match the current behaviour.

Auto-committed-on: dragonfly
The steering path previously filtered out registry lookup failures and fell
through to the fallback queue, silently swallowing real errors. The lookup
result is now matched explicitly so that "no handle" and "already done" fall
back as before while any other registry error is propagated to the caller.

Auto-committed-on: dragonfly
The steering fallback bound now requires a callable returning a future
instead of only the SteerFallback trait, so callers can pass async
closures directly. The trait bound is kept alongside the new Future
associated type to preserve existing behaviour.

Auto-committed-on: dragonfly
The two steer_detached functions now take a single F: SteerFallback<M>
bound instead of a separate FnOnce plus Future parameter, letting the
trait own its future type. Tests were updated to use a named
RecordingFallback struct and explicit closure parameter types.

Auto-committed-on: dragonfly
Adds an end-to-end test exercising the control and steer paths so the
interrupt and redirection behaviour is verified against a running agent.

Auto-committed-on: dragonfly
The end-to-end suite now only covers middleware lifecycle controls and a
preloaded steering cancellation delivered to a real run. The steering
registry bridge and orchestrate_list filtering tests were dropped along
with their helpers and now-unused imports.

Auto-committed-on: dragonfly
Adds a README section describing the steering module's detached steering
entry points and how they fall back to the host's SteerFallback when no
live child handle is available. Also notes where SteeringRegistry lives
and that cancel_for_thread cancels registered children by parent thread.

Auto-committed-on: dragonfly
Reformatted several expressions and import lists to satisfy rustfmt,
including the steering registry accessors and the subagent re-exports.
Also removed stray blank lines and reordered module declarations and
re-exports for consistency. No behaviour changes.

Auto-committed-on: dragonfly
Move the `use super::*;` import to the top of the file so it precedes the
external crate imports. This is a purely cosmetic reordering with no
behavioural change.

Auto-committed-on: dragonfly
Adds an end-to-end test that registers a running detached subagent and verifies steer_detached routes through the registry rather than the fallback path. The child harness is then invoked with the resolved steering handle to confirm the delivered instruction appears in the next model request.

Auto-committed-on: dragonfly
Reformatted the detached child harness test to satisfy rustfmt,
collapsing the RunContext construction onto one line and rewrapping the
assertion on the delivered instruction. No behaviour changed.

Auto-committed-on: dragonfly
Removed anyhow, async-trait and tinytools from the crate's dependency
list since nothing in it references them anymore.

Auto-committed-on: dragonfly
@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

  • Run on-demand review

This review includes 26 billable files and costs up to $6.50.

Or wait 33 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1b733825-4f03-45d9-a422-66546073c959
📥 Commits

Reviewing files that changed from the base of the PR and between df64404 and f73ec4e.

⛔ Files ignored due to path filters: 1
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing: 26
  • crates/tinyagents-graph/src/README.md
  • crates/tinyagents-graph/src/lib.rs
  • crates/tinyagents-graph/src/orchestration.rs
  • crates/tinyagents-integration-tests/tests/e2e_control_and_steer.rs
  • crates/tinyagents-integration-tests/tests/e2e_steering.rs
  • crates/tinyagents-orchestration/src/README.md
  • crates/tinyagents-orchestration/src/lib.rs
  • crates/tinyagents-orchestration/src/steering.rs
  • crates/tinyagents-orchestration/src/steering_tests.rs
  • crates/tinyagents-orchestration/src/subagent/detached/mod.rs
  • crates/tinyagents-orchestration/src/subagent/mod.rs
  • crates/tinyagents-session/src/run_ledger/README.md
  • crates/tinyagents-tasks/Cargo.toml
  • crates/tinyagents-tasks/src/README.md
  • crates/tinyagents-tasks/src/completions/router.rs
  • crates/tinyagents-tasks/src/completions/router_tests.rs
  • crates/tinyagents-tasks/src/lib.rs
  • crates/tinyagents-tasks/src/lib_tests.rs
  • crates/tinyagents-tasks/src/recovery.rs
  • crates/tinyagents-tasks/src/recovery_tests.rs
  • crates/tinyagents-tasks/src/steering_registry.rs
  • crates/tinyagents-tasks/src/store.rs
  • crates/tinyagents-tasks/src/tool.rs
  • crates/tinyagents-tasks/src/types.rs
  • docs/modules/graph/subagents-recursion.md
  • vendor/tinyinference
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Co-authored-by: Medulla <medulla@tinyhumans.ai>
senamakel and others added 3 commits October 21, 2026 16:09
Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-21T16:39:05.232321Z f73ec4e New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@tinysweeper

tinysweeper Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Tiny Sweeper review

Verdict: Incomplete · Priority: none
Coverage: Reviewed 18 of 27 files; not reviewed: Cargo.lock, crates/tinyagent…, and 7 additional unreviewed files.
Lane gaps: The tests reviewer did not respond.
Pull request purpose (title): refactor(orchestrati…

Diagnostics and supporting details

Full summary

Pull request purpose (title): refactor(orchestration): consolidate steering and retire task tools. The pull request moves detached child steering under `tinyagents_orchestration::steering`, where the steer entry points validate lane and ownership, prefer a live registered steering handle, and otherwise deliver through a host-provided `SteerFallback`; a retained finished child now goes through that fallback instead of returning `AlreadyDone`, while terminal children never use stale handles. It also retires the model-facing task-tool surface and the restart-recovery note APIs along with their graph re-exports, relocates `SteeringRegistry` to its own module in `tinyagents-tasks`, and updates docs, manifest dependencies and tests to match. The latest-push-delta section is unavailable: the evidence contains no trusted base-to-head diff comparison, so no push delta is described.

Unreviewed paths

  • Cargo.lock
  • crates/tinyagents-tasks/Cargo.toml
  • crates/tinyagents-tasks/src/completions/router.rs
  • crates/tinyagents-tasks/src/completions/router_tests.rs
  • crates/tinyagents-tasks/src/recovery.rs
  • crates/tinyagents-tasks/src/recovery_tests.rs
  • crates/tinyagents-tasks/src/tool.rs
  • crates/tinyagents-tasks/src/types.rs
  • vendor/tinyinference

Review snapshot

Change surface Files Review signal Count
Production 13 Active findings 0
Tests 6 Noted findings 0
Documentation 5 Resolved findings 0
Configuration 1 Pending checks/questions 1

Completeness: Incomplete
Test assessment: No supported feature-to-test mapping was available; this does not mean tests are absent or passed.

What changed

Steering for detached children is consolidated into `crates/tinyagents-orchestration/src/steering.rs`, exported from `crates/tinyagents-orchestration/src/lib.rs`, and the old `subagent::detached::steer` module and its re-exports are removed from `crates/tinyagents-orchestration/src/subagent/detached/mod.rs` and `crates/tinyagents-orchestration/src/subagent/mod.rs`. `SteerError::AlreadyDone` and the terminal-status early rejection are gone; the steer path now looks up the live handle, uses it only for non-terminal tasks, and otherwise awaits a `SteerFallback::enqueue`. The `tinyagents-tasks` crate loses `tool.rs` (`OrchestrationTool`, `OrchestrationToolKind`, schemas, overlay), `recovery.rs`, and `CompletionRouter::restart_recovery_note`, with `SteeringRegistry` moved to `crates/tinyagents-tasks/src/steering_registry.rs`; the graph shim loses the corresponding re-exports and the manifest loses the now-unused `anyhow`, `async-trait` and `tinytools` edges. Documentation in the graph, orchestration, tasks, session run-ledger and subagent-recursion docs is rewritten to describe host-owned orchestration tools and steering.

Features

  • Added — Consolidated detached-steering module: Detached child steering now lives in `tinyagents_orchestration::steering`, exposing `steer_detached`, `steer_detached_with_request_id`, the `SteerAccess` variants and `SteerError`; lane/ownership validation, request-ID length limits and deduplication still apply, and the text is never logged there. (crates/tinyagents-orchestration/src/lib.rs, crates/tinyagents-orchestration/src/steering.rs pub async fn steer_detached<M, F, Fut>(, crates/tinyagents-orchestration/src/steering.rs pub enum SteerAccess<'a> {, crates/tinyagents-orchestration/src/steering.rs pub enum SteerError {)
  • Added — Host `SteerFallback` delivery seam: Hosts supply the fallback enqueue operation, implemented for `FnOnce(metadata, lane, text) -> Future`; the steer functions call `fallback.enqueue(..)` when no usable live handle exists, so delivery policy stays with the host queue. (crates/tinyagents-orchestration/src/steering.rs, crates/tinyagents-orchestration/src/steering.rs pub async fn steer_detached_with_request_id<M, F, Fut>(, crates/tinyagents-orchestration/src/steering.rs where)
  • Modified — Terminal children route to the fallback: A retained finished child no longer fails with `AlreadyDone`; a terminal snapshot is delivered through the host fallback and a stale registered handle is not drained, since the live handle is only used when the snapshot is not terminal. Unknown and unowned tasks still error. (crates/tinyagents-orchestration/src/steering.rs, crates/tinyagents-orchestration/src/steering.rs impl From<DetachedTaskRegistryError> for SteerError {, crates/tinyagents-orchestration/src/steering_tests.rs async fn steer_rejects_followup_unknown_unowned_and_terminal() {)
  • Removed — Retired model-facing task tools: `OrchestrationTool`, `OrchestrationToolKind`, the tool schemas, constructors, registration helpers and `OrchestrationStatusOverlay` are removed from `tinyagents-tasks`, and the graph re-exports of those names are dropped, so the built-in `orchestrate_*` tool surface is no longer provided by these crates. (crates/tinyagents-tasks/src/tool.rs, crates/tinyagents-graph/src/lib.rs pub use orchestration::{, crates/tinyagents-tasks/src/types.rs impl OrchestrationTaskFilter {, crates/tinyagents-graph/src/orchestration.rs)
  • Internal refactor — `SteeringRegistry` relocated in `tinyagents-tasks`: `SteeringRegistry` keeps its register/deregister/get behavior but moves out of the tool module into its own file and is re-exported from the crate root, so `DetachedTaskRegistry` can share live handles with executors without the removed tool layer. (crates/tinyagents-tasks/src/steering_registry.rs, crates/tinyagents-tasks/src/lib.rs pub use driver_store::DriverTaskStore;)
  • Modified — Subagent re-export surface trimmed: Detached subagent modules stop re-exporting steering helpers and thread-scoped cancellation, directing callers to `crate::steering` instead, which changes the orchestration public path for those items. (crates/tinyagents-orchestration/src/subagent/detached/mod.rs mod ops;, crates/tinyagents-orchestration/src/subagent/mod.rs pub use awaiting_user::SubagentAwaitingUser;)
  • Removed — Unused manifest dependency edges dropped: `tinyagents-tasks` no longer declares `anyhow`, `async-trait` or `tinytools`, which were only needed by the removed tool layer; the lockfile entry is adjusted in the same change. (crates/tinyagents-tasks/Cargo.toml rust-version.workspace = true)
  • Modified — Documentation updated for host-owned task controls: The graph, orchestration and tasks READMEs and `docs/modules/graph/subagents-recursion.md` now describe steering through `steer_detached` plus the host fallback, direct `TaskStore`/`OrchestrationTaskFilter` listing instead of `orchestrate_list`, and state that hosts must supply their own model-facing task tools and authorization policy. (docs/modules/graph/subagents-recursion.md work to satisfy the cap and does not duplicate durable lifecycle records., crates/tinyagents-tasks/src/README.md call `orchestration_tools` to build the full set, or call, crates/tinyagents-orchestration/src/README.md this crate only under its `subagents` feature., crates/tinyagents-graph/src/README.md carry their own `README.md` — see the module map below.)

Tests

No supported feature-to-test mapping was produced. Test execution is not inferred.

Findings

No active actionable findings.

Before merge

  • Complete the tests review.
Agent review details

critique

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: Reviewed 9 files; 1 finding. _The code index is behind this pull request (indexed at `d6f180bb378f`), so retrieved context may be out of date._

security

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Positive: Security lane is answered and reports no findings, with README and docs files excluded as prose rather than code.
  • Lane summary: Reviewed 5 files; 0 findings. 4 files were not security-reviewed: crates/tinyagents-graph/src/README.md (prose or tabular data), crates/tinyagents-orchestration/src/README.md (prose or tabular data), crates/tinyagents-tasks/src/README.md (prose or tabular data), docs/modules/graph/subagents-recursion.md (prose or tabular data). _The code index is behind this pull request (indexed at `d6f180bb378f`), so retrieved context may be out of date._

tests

  • Conclusion: Neutral
  • Scope reviewed: no lane response
  • Lane summary: No reviewer produced a usable response.

commits

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Positive: Commits lane is answered and reports no sensitive content in the committed files.
  • Lane summary: No sensitive content in committed files. _The code index is behind this pull request (indexed at `d6f180bb378f`), so retrieved context may be out of date._

description

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The follow-up commits carry out exactly what the description says: the retired task-tool and restart-recovery APIs (OrchestrationTool/OrchestrationToolKind/schemas/overlay, recovery.rs and CompletionRouter::restart_recovery_note) are removed together with their graph re-exports, tests, docs and now-unused Cargo edges, while SteeringRegistry moves to its own file and a detached-steer end-to-end test is added against the public steering API. I found no leftover references to the removed items in the tree and no defect in the changed code; the description matches the change. _The code index is behind this pull request (indexed at `d6f180bb378f`), so retrieved context may be out of date._
Evidence and run details
  • Models: ladder/vectors-oai3, glm-5.3-flash, deepseek-v4.1-flash, deep
  • Spend: $0.003415
  • Completion usage: incomplete; some provider completion costs are unavailable.
  • Tokens: 730425 input · 37313 output · 190976 cached · 747 embedding
  • Updated: 2026-10-21T16:36:19Z
  • Continuity: summary cache chain restarted at the storage ceiling.
Head State Pass summary
d6f180bb378f incomplete 0 active finding(s), 0 resolved finding(s) (at 2026-10-21T16:25:15Z)
f73ec4ed10f5 incomplete 0 active finding(s), 0 resolved finding(s) (at 2026-10-21T16:36:19Z)

tinysweeper 0.1.2

senamakel and others added 2 commits October 21, 2026 16:21
Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b5c0a97c3a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/tinyagents-graph/src/lib.rs

@tinysweeper tinysweeper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tinysweeper could not complete coverage (6 unanswered item(s)), so this is not an approval.

Diagnostics

Total spend: $0.0097

@tinysweeper tinysweeper Bot added the priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect. label Oct 21, 2026
…yagents-graph/src/orchestration

Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>
@senamakel
senamakel merged commit ad9c91b into tinyhumansai:main Oct 21, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant